﻿using System;

namespace DevelopersTestPad.Remoting
{
    /// <summary>
    /// Provides data for the <see cref="DevelopersTestPadParameters.ReceiveInteractionMessage"/> event.
    /// </summary>
    [Serializable]
    public sealed class InteractionMessageEventArgs : EventArgs
    {
        /// <summary>
        /// Interaction message type.
        /// </summary>
        public enum InteractionMessageType
        {
            /// <summary>
            /// The Data is System.String.
            /// </summary>
            Text,

            /// <summary>
            /// The Data is Ooaavee.Support.Reflector+ReflectedObject.
            /// </summary>
            Push
        }

        /// <summary>
        /// The interaction message type.
        /// </summary>
        public InteractionMessageType Type { set; get; }

        /// <summary>
        /// The interaction message data.
        /// </summary>
        public object Data { set; get; }

    }
}
